package io.jee.caisan.weixin.service;

import java.util.List;

import io.jee.alaska.util.Result;
import io.jee.caisan.weixin.domain.MpMaterialFile;
import io.jee.caisan.weixin.domain.MpMaterialNews;
import io.jee.caisan.weixin.domain.MpMaterialNum;

public interface MpMaterialService {

	/**
	 * 新增获取永久素材次数
	 * @return
	 */
	Result<MpMaterialNum> addLongMaterialNum();
	
	/**
	 * 新增获取素材总数次数
	 * @return
	 */
	Result<MpMaterialNum> addMaterialCountNum();
	
	/**
	 * 查询使用获取取素材总数次数
	 * @return
	 */
	MpMaterialNum findMpMaterialNumOne();
	
	/**
	 * 获取非图文列表
	 * @return
	 */
	List<MpMaterialFile> listMpMaterialFile(String type);
	
	/**
	 * 获取图文素材
	 * @return
	 */
	List<MpMaterialNews> listMpMaterialNews();
	
	/**
	 * 同步图文素材
	 * @return
	 */
	void asyncMaterialNews();
	
	/**
	 * 同步图片素材
	 * @return
	 */
	void asyncMaterialImage();
	
	/**
	 * 同步视频素材
	 * @return
	 */
	void asyncMaterialVideo();
	
	/**
	 * 同步语音素材
	 * @return
	 */
	void asyncMaterialVoice();
	
	/**
	 * 同步结果，是否完毕
	 * @return
	 */
	Result<?> asyncResult();
}
